package com.marvels.dubbo.externalservice.service;

import java.util.List;
import java.util.Map;

import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import com.fintech.third.model.message.MessageInfoPageConditionDto;
import com.fintech.third.model.message.PushMessageInfo;
import com.fintech.third.service.PushDefineBatchSend;


public interface PushFaceseSigService {
	
	
	/**
	 * 推送视频面签
	 * @param appointmentId
	 * @return
	 */
	public String pushFacePush(@RequestBody Map<String, String> map);
	
	
	/**
	 * 批量插入消息推送
	 * @param list
	 * @return
	 */
	public Boolean insertTimingPush(@RequestBody List<PushMessageInfo> list);
	
	
	
	/**
	 * 自定义模板批量推送
	 * @param list
	 * @return
	 */
	public Boolean  pushSendDefineTemplate(@RequestBody final List<PushDefineBatchSend> list);
	
	
	
	/**
	 * 消息分页
	 * @param userId
	 * @param messageCategory
	 * @return
	 */
	public List<PushMessageInfo>  pushMessageInfoPage(@RequestBody MessageInfoPageConditionDto messageInfoPageConditionDto);
	
	
	
	/**
	 * 查询用户所有消息条数
	 * @param userId
	 * @return
	 */
	public int countAllMessageInfo(@RequestParam(value="userId") String userId);
	
	
	/**
	 * 更新用户消息为已读
	 * @param messageIdList
	 * @return
	 */
	public int updateMessageReadStatus(@RequestParam(value="messageId") String messageId);
	
	
	/**
	 * 批量删除用户消息
	 * @param userId
	 * @return
	 */
	public int deleteMessageBatch(@RequestParam(value="userId") String userId);
}
